package br.sales.controller;

import java.util.List;

import br.sales.entity.Configuration;
import br.sales.entity.exception.EntityExistsException;
import br.sales.persistence.IPersistence;
import br.sales.persistence.exception.DBContainerNotInitializedException;



public interface IConfigurationController {

	Configuration save(Configuration configuration) throws DBContainerNotInitializedException, EntityExistsException;
	Configuration save(Configuration configuration, IPersistence persistence) throws DBContainerNotInitializedException;
	Configuration update(Configuration configuration);
	Configuration update(Configuration configuration, IPersistence persistence);
	void delete(Configuration configuration);
	void delete(Configuration configuration, IPersistence persistence);
	Configuration retrieveByName(String name);
	Configuration retrieveByValue(String value);
	Configuration retrieveByName(String name, IPersistence persistence);
	Configuration retrieveByValue(String value,IPersistence persistence);
	List<Configuration> retrieveAll();
	
	
}
